package com.ruoyi.workflow.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.workflow.domain.HistoryTaskResponse;
import com.ruoyi.workflow.domain.TaskTodo;
import com.ruoyi.workflow.domain.TaskTodoResponse;

/**
 * 待办任务Service接口
 * 
 * @author yuanpingfang
 * @date 2021-04-09
 */
public interface ITaskTodoService
{
    /**
     * 查询待办任务
     * 
     * @param taskId 待办任务ID
     * @return 待办任务
     */
    TaskTodo selectTaskTodoById(String taskId);

    /**
     * 查询待办任务列表
     * 
     * @param taskTodo 待办任务
     * @return 待办任务集合
     */
    TaskTodoResponse selectTaskTodoList(TaskTodo taskTodo, Integer pageNum, Integer pageSize);

    /**
     * 审核待办任务
     * 
     * @param taskTodo 待办任务
     * @return 结果
     */
    AjaxResult completeTaskTodo(TaskTodo taskTodo);

    HistoryTaskResponse queryHistoryTask(String processInstanceId);

    AjaxResult terminateProcess(TaskTodo taskTodo);
}
